package com.langangkj.tools.redis.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author ZhouChuGang
 * @version 1.0
 * @project redis-sync-tools
 * @date 2020/4/23 15:47
 * @Description
 */
@Data
@ConfigurationProperties(prefix = RedisSyncConfigProperties.PREFIX)
public class RedisSyncConfigProperties {
    public static final String PREFIX = "ymdx.redis-tools";
    /**
     * 是否为集群模式
     */
    private boolean cluster = false;

    /**
     * 主机列表  11.11.11.11:6379
     */
    private String hosts = "";

    /**
     * 密码
     */
    private String password = "";

    /**
     * 数据库
     */
    private int dbIndex = 0;

    /**
     * redis连接的超时时长
     */
    private int timeOut = 5;

    /**
     * 最大连接转移数
     */
    private int maxRedirects = 4;


    /**
     * 连接池参数
     */
    private PoolProperties pool = new PoolProperties();

    @Data
    public static class PoolProperties {

        /**
         * 最大活跃数
         */
        private int maxTotal = 8;

        /**
         * 最大等待数
         */
        private int maxWait = -1;

        /**
         * 最大核心线程数
         */
        private int maxIdle = 8;

        /**
         * 最小核心线程数
         */
        private int minIdle = 0;
    }


}
